#include <stdlib.h>
#include <stdio.h>
#include "bitree.h" //请不要删除，否则检查不通过


BiTNode * nearest_ancestor(BiTree root, BiTNode *p, BiTNode *q){
    Stack a, b;
    init_stack(&a);
    init_stack(&b);
    path(root, p, &a);
    path(root, q, &b);
    int len = a.top < b.top ? a.top : b.top;
    for(int i=0;i<=len;i++) if(a.elem[i] != b.elem[i]) return a.elem[i-1];
    return a.elem[len];
}